If you cannot beat them, join them

I can't ignore the facts anymore: AI and mindless vibecoders have won. The job I loved doesn't exist anymore.

I have tried to resist the way AI is changing programming. I constantly complain to the people around me that the job is not fun anymore. That much is true. The job is not fun, personal projects are not as much fun as they used to be. And I came to the realisation that while the job sucks, it's probably not just AI's fault, and while personal projects are not fun, I cannot force myself to write tons of uninteresting code to get to the small piece that is of interest to me.

Here is the personal anecdote for you.

I needed a small CLI program to do two simple things. It was in a new domain I don't know much about, so the project was going to be an exploration. The problem is I needed it today. I estimated that it would take me a week to code it.

I fired up Claude Code, wrote a small spec in markdown and let it write a plan and implement it. I got the functionality I needed in a couple of hours. I can complain as much as I want, but when it comes to productivity it's hard to compete with the robots.

The project was small enough that I could review the whole code, make a couple of changes and call it a success. Next day I had more ideas that could be built on top of the existing code.

This is how fitz was born.

This project is completely vibe-coded. I followed along and I do understand what the code does, but I myself wrote maybe 10 lines of code, I think.

And I realized that I don't care that much. The project works, I tested it, it does what I wanted it to do, and Claude was able to improve performance to the point that I am pretty content with it.

So I decided to extend the experiment.

I am now in the process of overseeing the development of the GUI version of fitz. It is 70% complete, it does what I want and it got there in 2 days. I think I would have spent about a month or two on it, probably more, just because I still don't know Rust well enough, I'd never touched Slint before and there is a whole bunch of knowledge related to astrophotography and image processing that I would have had to learn.

When I get to the point that the program does all I want, I am going to sit down and review all the code. I will do my best to understand how it works, what I would do differently, and whether it matters enough to brush vibecoding off.

I will try to keep a log of my findings here.

Other posts on these topics: